ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb1[16], immediateIndexed
dcl_constantbuffer cb2[16], immediateIndexed
dcl_constantbuffer cb5[91], immediateIndexed
dcl_constantbuffer cb3[59], immediateIndexed
dcl_sampler s3, mode_default
dcl_sampler s4, mode_default
dcl_sampler s5, mode_default
dcl_sampler s6, mode_default
dcl_sampler s9, mode_default
dcl_sampler s10, mode_default
dcl_sampler s11, mode_default
dcl_sampler s12, mode_default
dcl_sampler s13, mode_default
dcl_sampler s14, mode_default
dcl_sampler s15, mode_default
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_texture2d (float,float,float,float) t7
dcl_resource_texture2d (uint,uint,uint,uint) t8
dcl_resource_texture2d (float,float,float,float) t9
dcl_resource_texture2d (float,float,float,float) t10
dcl_resource_texture2d (float,float,float,float) t11
dcl_resource_texture2d (float,float,float,float) t12
dcl_resource_texture2d (float,float,float,float) t13
dcl_resource_texture2d (float,float,float,float) t14
dcl_resource_texture2d (float,float,float,float) t15
dcl_input_ps linear v1.xyw
dcl_input_ps constant v4.xyzw
dcl_input_ps constant v5.xyzw
dcl_input_ps constant v6.xyzw
dcl_input_ps constant v7.xyzw
dcl_input_ps constant v8.xyzw
dcl_input_ps constant v9.xyzw
dcl_input_ps constant v10.xyzw
dcl_input_ps constant v11.xyzw
dcl_input_ps constant v12.xyzw
dcl_input_ps constant v13.xyw
dcl_input_ps constant v14.w
dcl_output o0.xyzw
dcl_temps 17
sample_indexable(texture2d)(float,float,float,float) r0.x, v1.xyxx, t3.xyzw, s3
add r0.y, -r0.x, cb5[0].w
add r0.y, r0.y, l(1.000000e+000)
div r0.y, cb5[0].z, r0.y
lt r0.z, cb5[30].y, r0.y
and r0.z, r0.z, l(0x3f800000)
lt r0.w, r0.y, cb5[30].y
and r0.z, r0.z, r0.w
ne r0.z, l(0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000), r0.z
and r0.z, r0.z, l(0x3f800000)
sample_indexable(texture2d)(float,float,float,float) r0.w, v1.xyxx, t6.yzwx, s6
mul r0.w, r0.w, cb5[33].z
mul r0.z, r0.z, r0.w
add r0.w, -cb5[30].z, cb5[30].w
mad r0.z, r0.z, r0.w, cb5[30].z
mad r1.xy, v1.xyxx, cb5[31].xyxx, cb5[31].zwzz
mad r1.zw, v1.xxxy, cb5[32].xxxy, cb5[32].zzzw
sample_indexable(texture2d)(float,float,float,float) r1.xy, r1.xyxx, t13.xyzw, s13
sample_indexable(texture2d)(float,float,float,float) r1.zw, r1.zwzz, t13.zwxy, s13
add r1.xy, r1.zwzz, r1.xyxx
add r1.xy, r1.xyxx, l(-1.000000e+000, -1.000000e+000, 0.000000e+000, 0.000000e+000)
mul r1.xy, r1.xyxx, cb5[33].xyxx
mad r1.xw, r1.xxxy, r0.zzzz, v1.xxxy
sample_indexable(texture2d)(float,float,float,float) r2.xyz, r1.xwxx, t5.xyzw, s5
mul r2.xyz, r2.xyzx, cb2[14].wwww
lt r0.z, l(0.000000e+000), cb5[90].w
if_z r0.z
  mad r3.xyzw, cb5[72].xyxy, l(-1.000000e+000, -5.000000e-001, 5.000000e-001, -1.000000e+000), r1.xwxw
  sample_indexable(texture2d)(float,float,float,float) r4.xyz, r3.xyxx, t4.xyzw, s4
  sample_indexable(texture2d)(float,float,float,float) r5.xyz, r3.zwzz, t4.xyzw, s4
  mad r6.xyzw, cb5[72].xyxy, l(-5.000000e-001, 1.000000e+000, 1.000000e+000, 5.000000e-001), r1.xwxw
  sample_indexable(texture2d)(float,float,float,float) r7.xyz, r6.xyxx, t4.xyzw, s4
  sample_indexable(texture2d)(float,float,float,float) r8.xyz, r6.zwzz, t4.xyzw, s4
  sample_indexable(texture2d)(float,float,float,float) r9.xyz, r1.xwxx, t4.xyzw, s4
  add r4.xyz, r4.xyzx, r5.xyzx
  add r4.xyz, r7.xyzx, r4.xyzx
  add r4.xyz, r8.xyzx, r4.xyzx
  mul r5.xyz, r9.xyzx, l(5.000000e-001, 5.000000e-001, 5.000000e-001, 0.000000e+000)
  mad r4.xyz, r9.xyzx, l(5.000000e-001, 5.000000e-001, 5.000000e-001, 0.000000e+000), r4.xyzx
  sample_indexable(texture2d)(float,float,float,float) r7.xyz, r3.xyxx, t9.xyzw, s9
  sample_indexable(texture2d)(float,float,float,float) r3.xyz, r3.zwzz, t9.xyzw, s9
  sample_indexable(texture2d)(float,float,float,float) r8.xyz, r6.xyxx, t9.xyzw, s9
  sample_indexable(texture2d)(float,float,float,float) r6.xyz, r6.zwzz, t9.xyzw, s9
  sample_indexable(texture2d)(float,float,float,float) r9.xyz, r1.xwxx, t9.xyzw, s9
  add r3.xyz, r3.xyzx, r7.xyzx
  add r3.xyz, r8.xyzx, r3.xyzx
  add r3.xyz, r6.xyzx, r3.xyzx
  mad r3.xyz, r9.xyzx, l(5.000000e-001, 5.000000e-001, 5.000000e-001, 0.000000e+000), r3.xyzx
  mad r5.xyz, r9.xyzx, l(5.000000e-001, 5.000000e-001, 5.000000e-001, 0.000000e+000), r5.xyzx
  mul r4.xyz, r4.xyzx, l(1.111111e-001, 1.111111e-001, 1.111111e-001, 0.000000e+000)
  mad r3.xyz, r3.xyzx, l(1.111111e-001, 1.111111e-001, 1.111111e-001, 0.000000e+000), r4.xyzx
  ne r0.z, l(0.000000e+000), cb5[4].x
  movc r4.xyz, r0.zzzz, r9.xyzx, r5.xyzx
  movc r3.xyz, r0.zzzz, r9.xyzx, r3.xyzx
  add r0.zw, r0.yyyy, -cb5[3].xxxz
  mul_sat r0.w, r0.w, cb5[3].w
  mad_sat r0.z, -r0.z, cb5[3].y, l(1.000000e+000)
  max r0.z, r0.z, r0.w
  mad_sat r5.xyz, r0.zzzz, l(-2.004008e+000, -2.004008e+000, -1.000000e+003, 0.000000e+000), l(1.000000e+000, 2.002004e+000, 1.000000e+003, 0.000000e+000)
  add r0.z, -r5.x, l(1.000000e+000)
  min r0.z, r0.z, r5.y
  add r0.w, r0.z, r5.x
  add r2.w, -r0.w, l(1.000000e+000)
  min r2.w, r2.w, r5.z
  add r0.w, r0.w, r2.w
  add r0.w, -r0.w, l(1.000000e+000)
  mul r5.yzw, r0.zzzz, r9.xxyz
  mad r5.xyz, r2.xyzx, r5.xxxx, r5.yzwy
  mad r4.xyz, r4.xyzx, r2.wwww, r5.xyzx
  mad r2.xyz, r3.xyzx, r0.wwww, r4.xyzx
endif 
movc r0.z, cb5[89].z, l(1), l(0)
if_nz r0.z
  sample_indexable(texture2d)(float,float,float,float) r3.xyzw, r1.xwxx, t11.xyzw, s11
  add r4.xyz, -r2.xyzx, r3.xyzx
  mad r2.xyz, r3.wwww, r4.xyzx, r2.xyzx
else 
  mov r3.xyzw, l(0,0,0,0)
endif 
mul r0.zw, r1.xxxw, cb2[15].xxxy
round_z r0.zw, r0.zzzw
ftoi r4.xy, r0.zwzz
mov r4.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r0.z, r4.xyzw, t8.xzyw
utof r0.z, r0.z
mul r0.z, r0.z, l(3.921569e-003)
lt r0.z, cb5[56].x, r0.z
movc r0.z, r0.z, l(0), l(1.000000)
mul r4.xy, r1.xwxx, l(5.816400e+001, 4.713000e+001, 0.000000e+000, 0.000000e+000)
mad r5.xy, r1.xwxx, l(2.000000e+000, -2.000000e+000, 0.000000e+000, 0.000000e+000), l(-1.000000e+000, 1.000000e+000, 0.000000e+000, 0.000000e+000)
mov r5.z, l(1.000000)
dp3 r6.x, r5.xyzx, cb5[21].xyzx
dp3 r6.y, r5.xyzx, cb5[22].xyzx
dp3 r6.z, r5.xyzx, cb5[23].xyzx
mad r6.xyz, r6.xyzx, r0.yyyy, cb1[15].xyzx
mov r6.w, l(1.000000)
dp4 r7.x, r6.xyzw, cb5[18].xyzw
dp4 r7.y, r6.xyzw, cb5[19].xyzw
dp4 r0.y, r6.xyzw, cb5[20].xyzw
eq r0.w, r0.y, l(0.000000e+000)
movc r0.y, r0.w, l(0.000010), r0.y
div r0.yw, r7.xxxy, r0.yyyy
add r0.yw, -r0.yyyw, r5.xxxy
mul r0.yw, r0.yyyw, l(0.000000e+000, 4.000000e+001, 0.000000e+000, -2.250000e+001)
dp2 r2.w, r0.ywyy, r0.ywyy
lt r4.z, l(1.000000e+000), r2.w
rsq r2.w, r2.w
mul r5.zw, r0.yyyw, r2.wwww
movc r0.yw, r4.zzzz, r5.zzzw, r0.yyyw
mul r0.yw, r0.yyyw, cb5[16].xxxx
mul r0.yw, r0.yyyw, l(0.000000e+000, 1.250000e-002, 0.000000e+000, 2.222222e-002)
mul r6.xyz, r0.zzzz, r2.xyzx
mul r4.zw, r0.yyyw, cb5[17].yyyy
mad r4.xy, r2.xyxx, l(8.000000e+000, 8.000000e+000, 0.000000e+000, 0.000000e+000), r4.xyxx
sample_indexable(texture2d)(float,float,float,float) r2.w, r4.xyxx, t12.yzwx, s12
add r2.w, r2.w, l(-5.000000e-001)
mul r4.xy, r2.wwww, r4.zwzz
mad r4.xy, r4.xyxx, l(5.000000e-001, 5.000000e-001, 0.000000e+000, 0.000000e+000), r1.xwxx
round_z r2.w, cb5[17].x
ftoi r2.w, r2.w
mov r7.zw, l(0,0,0,0)
mov r8.xyz, r6.xyzx
mov r5.z, r0.z
mov r5.w, l(1.000000)
loop 
  ftoi r6.w, r5.w
  ige r8.w, r6.w, r2.w
  if_nz r8.w
    break 
  endif 
  mad r9.xy, r4.zwzz, r5.wwww, r4.xyxx
  mul r9.xy, r9.xyxx, cb2[15].xyxx
  round_ne r9.xy, r9.xyxx
  add r9.xy, r9.xyxx, l(5.000000e-001, 5.000000e-001, 0.000000e+000, 0.000000e+000)
  div r9.zw, r9.xxxy, cb2[15].xxxy
  round_z r9.xy, r9.xyxx
  ftoi r7.xy, r9.xyxx
  ld_indexable(texture2d)(uint,uint,uint,uint) r7.x, r7.xyzw, t8.yxzw
  utof r7.x, r7.x
  mul r7.x, r7.x, l(3.921569e-003)
  lt r7.x, cb5[56].x, r7.x
  movc r7.x, r7.x, l(0), l(1.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r9.xyz, r9.zwzz, t9.xyzw, s9, l(0.000000e+000)
  mad r8.xyz, r9.xyzx, r7.xxxx, r8.xyzx
  add r5.z, r5.z, r7.x
  iadd r6.w, r6.w, l(1)
  itof r5.w, r6.w
endloop 
max r2.w, r5.z, l(1.000000e-001)
div r4.xyz, r8.xyzx, r2.wwww
dp2 r0.y, r0.ywyy, r0.ywyy
mul r0.y, r0.y, l(1.000000e+005)
min r0.y, r0.y, l(1.000000e+000)
mul r0.y, r0.y, r0.z
add r4.xyz, -r2.xyzx, r4.xyzx
mad r0.yzw, r0.yyyy, r4.xxyz, r2.xxyz
sample_indexable(texture2d)(float,float,float,float) r2.xyz, r1.xwxx, t10.xyzw, s10
sample_l_indexable(texture2d)(float,float,float,float) r2.w, r1.xwxx, t4.yzwx, s4, l(0.000000e+000)
eq r4.x, l(1.500000e+002), cb5[3].z
lt r4.y, r2.w, l(1.500000e+000)
and r4.y, r4.y, r4.x
ne r4.z, l(0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000), v10.z
not r4.y, r4.y
and r4.y, r4.y, r4.z
if_nz r4.y
  add r4.yz, v1.xxyx, -v10.xxyx
  mul r4.yz, r4.yyzy, cb5[0].xxyx
  mul r4.yz, r4.yyzy, l(0.000000e+000, 3.000000e+001, 3.000000e+001, 0.000000e+000)
  dp2 r4.y, r4.yzyy, r4.yzyy
  mul r4.y, r4.y, l(5.000000e-001)
  min r4.y, r4.y, l(1.000000e+000)
  div r2.w, cb5[0].z, r2.w
  add r2.w, r2.w, l(-1.000000e+000)
  add r2.w, r2.w, -cb5[0].w
  mad r4.zw, r1.xxxw, l(0.000000e+000, 0.000000e+000, 2.000000e+000, 2.000000e+000), l(0.000000e+000, 0.000000e+000, -1.000000e+000, -1.000000e+000)
  mul r6.xyzw, -r4.wwww, v5.xyzw
  mad r6.xyzw, v4.xyzw, r4.zzzz, r6.xyzw
  mad r6.xyzw, v6.xyzw, -r2.wwww, r6.xyzw
  add r6.xyzw, r6.xyzw, v7.xyzw
  div r6.xyz, r6.xyzx, r6.wwww
  dp3 r4.z, r6.xyzx, r6.xyzx
  rsq r4.z, r4.z
  mul r7.xyz, r4.zzzz, r6.xyzx
  max r4.z, v13.y, cb1[15].z
  min r4.z, r4.z, v13.x
  add r4.w, r4.z, -cb1[15].z
  div r4.w, r4.w, r7.z
  ge r5.z, r4.w, l(0.000000e+000)
  lt r5.w, r4.w, l(8.200000e+003)
  and r5.z, r5.w, r5.z
  if_nz r5.z
    mul r6.xyz, r6.xyzx, l(8.100000e-001, 8.100000e-001, 1.000000e+000, 0.000000e+000)
    dp3 r5.z, -r6.xyzx, -r6.xyzx
    sqrt r5.z, r5.z
    mad r6.xy, r7.xyxx, r4.wwww, cb1[15].xyxx
    dp3 r5.w, r7.xyzx, l(1.298980e+001, 7.823300e+001, 3.771900e+001, 0.000000e+000)
    sincos r5.w, null, r5.w
    mul r5.w, r5.w, l(4.375855e+004)
    frc r5.w, r5.w
    add r5.w, r5.w, l(-5.000000e-001)
    eq r6.z, -r2.w, l(1.000000e+000)
    movc r5.z, r6.z, l(8200.000000), r5.z
    add r6.zw, -v12.zzzx, v12.yyyy
    div r8.xy, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000), r6.zwzz
    mov r9.z, l(0)
    mov r10.xy, r6.xyxx
    mov r6.z, r4.w
    mov r8.z, r4.w
    mov r8.w, l(0)
    mov r10.w, l(6.000000)
    mov r10.z, r4.z
    mov r11.xyzw, l(0.500000,0,1.000000,0)
    loop 
      lt r12.x, l(0.000000e+000), r11.z
      ge r12.y, v13.x, r10.z
      and r12.x, r12.y, r12.x
      ge r12.y, r10.z, v13.y
      and r12.x, r12.y, r12.x
      ilt r12.y, r11.w, l(188)
      and r12.x, r12.y, r12.x
      add r12.y, r6.z, -r10.w
      lt r12.y, r12.y, r5.z
      and r12.x, r12.y, r12.x
      breakc_z r12.x
      add r12.xy, r10.zzzz, -v12.xzxx
      div_sat r12.x, r12.x, r6.w
      mad r12.x, r12.x, l(3.000001e-001), l(9.000000e-001)
      mul_sat r12.y, r8.x, r12.y
      mad r12.z, r12.y, l(-2.000000e+000), l(3.000000e+000)
      mul r12.y, r12.y, r12.y
      mul r12.y, r12.y, r12.z
      min r12.z, r10.z, v12.w
      add r12.z, r12.z, -v12.x
      mul_sat r12.z, r8.y, r12.z
      mad r12.w, r12.z, l(-2.000000e+000), l(3.000000e+000)
      mul r12.z, r12.z, r12.z
      mul r12.z, r12.z, r12.w
      mul r12.y, r12.z, r12.y
      add r12.z, r12.x, v9.w
      add r12.x, -r12.x, v9.w
      mad r13.xyzw, r10.zzzz, l(-2.200000e-001, 0.000000e+000, -2.200000e-001, 0.000000e+000), r10.xyxy
      mad r13.xyzw, cb5[63].yyyy, l(1.000000e+007, 1.000000e+007, 1.000000e+007, 1.000000e+007), r13.xyzw
      mad r13.xyzw, cb3[54].xyzz, l(-2.030000e+003, 6.090000e+003, -4.060000e+003, 0.000000e+000), r13.xyzw
      mul r13.xyzw, r13.xyzw, l(3.333333e-005, 3.333333e-005, 1.562500e-004, 1.562500e-004)
      sample_l_indexable(texture2d)(float,float,float,float) r12.w, r13.xyxx, t7.xywz, s13, l(0.000000e+000)
      sample_l_indexable(texture2d)(float,float,float,float) r13.x, r13.zwzz, t7.zxyw, s13, l(0.000000e+000)
      mul r13.x, r13.x, l(5.500000e-001)
      mad r12.w, r12.w, l(5.000000e-001), r13.x
      mul_sat r12.y, r12.y, r12.w
      add r12.y, r12.y, l(2.500000e-001)
      mad r13.xyz, cb3[54].zzzz, l(-1.020800e+004, 0.000000e+000, -9.570001e+002, 0.000000e+000), r10.xyzx
      mad r14.xyz, cb3[54].zzzz, l(-6.090000e+003, 0.000000e+000, -8.700001e+002, 0.000000e+000), r10.xyzx
      mul r13.xyz, r13.xyzx, v13.wwww
      round_ni r15.xyz, r13.xyzx
      dp2 r12.w, r15.xyxx, l(3.000000e+000, 1.700000e+001, 0.000000e+000, 0.000000e+000)
      add r12.w, r15.z, r12.w
      sincos r13.w, null, r12.w
      mul r13.w, r13.w, l(4.375855e+004)
      frc r13.xyzw, r13.xyzw
      add r15.xyzw, r12.wwww, l(1.000000e+000, 3.000000e+000, 1.700000e+001, 2.000000e+001)
      sincos r15.xyzw, null, r15.xyzw
      mul r15.xyzw, r15.xyzw, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 4.375855e+004)
      frc r15.xyzw, r15.xyzw
      add r14.w, -r13.w, r15.x
      mad r13.w, r13.z, r14.w, r13.w
      add r16.xyz, r12.wwww, l(4.000000e+000, 1.800000e+001, 2.100000e+001, 0.000000e+000)
      sincos r16.xyz, null, r16.xyzx
      mul r16.xyz, r16.xyzx, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 0.000000e+000)
      frc r16.xyz, r16.xyzx
      add r16.xyz, -r15.yzwy, r16.xyzx
      mad r15.xyz, r13.zzzz, r16.xyzx, r15.yzwy
      add r16.xy, -r13.xyxx, l(1.000000e+000, 1.000000e+000, 0.000000e+000, 0.000000e+000)
      mul r13.xz, r13.xxxx, r15.xxzx
      mad r12.w, r13.w, r16.x, r13.x
      mad r13.x, r15.y, r16.x, r13.z
      mul r13.x, r13.y, r13.x
      mad r12.w, r12.w, r16.y, r13.x
      mul r9.xyw, r12.wwww, l(1.000000e+002, 1.000000e+002, 0.000000e+000, 3.400000e-001)
      add r13.xyz, r9.yyzy, r14.xyzx
      mul r13.xyz, r13.xyzx, l(6.666667e-002, 6.666667e-002, 6.666667e-002, 0.000000e+000)
      round_ni r15.xyz, r13.xyzx
      dp2 r12.w, r15.xyxx, l(3.000000e+000, 1.700000e+001, 0.000000e+000, 0.000000e+000)
      add r12.w, r15.z, r12.w
      sincos r13.w, null, r12.w
      mul r13.w, r13.w, l(4.375855e+004)
      frc r13.xyzw, r13.xyzw
      add r15.xyzw, r12.wwww, l(1.000000e+000, 3.000000e+000, 1.700000e+001, 2.000000e+001)
      sincos r15.xyzw, null, r15.xyzw
      mul r15.xyzw, r15.xyzw, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 4.375855e+004)
      frc r15.xyzw, r15.xyzw
      add r14.w, -r13.w, r15.x
      mad r13.w, r13.z, r14.w, r13.w
      add r16.xyz, r12.wwww, l(4.000000e+000, 1.800000e+001, 2.100000e+001, 0.000000e+000)
      sincos r16.xyz, null, r16.xyzx
      mul r16.xyz, r16.xyzx, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 0.000000e+000)
      frc r16.xyz, r16.xyzx
      add r16.xyz, -r15.yzwy, r16.xyzx
      mad r15.xyz, r13.zzzz, r16.xyzx, r15.yzwy
      add r16.xy, -r13.xyxx, l(1.000000e+000, 1.000000e+000, 0.000000e+000, 0.000000e+000)
      mul r13.xz, r13.xxxx, r15.xxzx
      mad r12.w, r13.w, r16.x, r13.x
      mad r13.x, r15.y, r16.x, r13.z
      mul r13.x, r13.y, r13.x
      mad r12.w, r12.w, r16.y, r13.x
      add r12.w, -r12.w, l(1.000000e+000)
      mad r9.w, r12.w, l(1.000000e-001), r9.w
      div r13.xyz, r9.xyzx, l(2.000000e+000, 2.000000e+000, 2.000000e+000, 0.000000e+000)
      add r13.xyz, r13.xyzx, r14.xyzx
      mul r13.xyz, r13.xyzx, l(1.111111e-001, 1.111111e-001, 1.111111e-001, 0.000000e+000)
      round_ni r14.xyz, r13.xyzx
      frc r13.xyz, r13.xyzx
      dp2 r9.x, r14.xyxx, l(3.000000e+000, 1.700000e+001, 0.000000e+000, 0.000000e+000)
      add r9.x, r14.z, r9.x
      sincos r9.y, null, r9.x
      mul r9.y, r9.y, l(4.375855e+004)
      frc r9.y, r9.y
      add r14.xyzw, r9.xxxx, l(1.000000e+000, 3.000000e+000, 1.700000e+001, 2.000000e+001)
      sincos r14.xyzw, null, r14.xyzw
      mul r14.xyzw, r14.xyzw, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 4.375855e+004)
      frc r14.xyzw, r14.xyzw
      add r12.w, -r9.y, r14.x
      mad r9.y, r13.z, r12.w, r9.y
      add r15.xyz, r9.xxxx, l(4.000000e+000, 1.800000e+001, 2.100000e+001, 0.000000e+000)
      sincos r15.xyz, null, r15.xyzx
      mul r15.xyz, r15.xyzx, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 0.000000e+000)
      frc r15.xyz, r15.xyzx
      add r15.xyz, -r14.yzwy, r15.xyzx
      mad r14.xyz, r13.zzzz, r15.xyzx, r14.yzwy
      add r13.zw, -r13.xxxy, l(0.000000e+000, 0.000000e+000, 1.000000e+000, 1.000000e+000)
      mul r14.xz, r13.xxxx, r14.xxzx
      mad r9.x, r9.y, r13.z, r14.x
      mad r9.y, r14.y, r13.z, r14.z
      mul r9.y, r13.y, r9.y
      mad r9.x, r9.x, r13.w, r9.y
      mad r9.x, r9.x, l(1.000000e-001), r9.w
      add r9.x, r9.x, l(9.500000e-001)
      mul r9.x, r9.x, r12.y
      mad r9.y, r9.x, l(4.102564e-001), l(-2.000000e-001)
      add r9.w, r12.x, l(-2.000000e-001)
      div_sat r9.y, r9.y, r9.w
      mad r9.y, r9.y, l(-1.190000e+002), r5.w
      add r9.y, r9.y, l(1.250000e+002)
      min r9.y, r9.y, l(2.500000e+001)
      add r9.w, r6.z, l(-3.000000e+004)
      mul_sat r9.w, r9.w, l(-3.333333e-005)
      mad r9.w, r9.w, l(-8.000000e+000), l(9.000000e+000)
      mul r12.y, r9.w, r9.y
      add r12.z, -r12.x, r12.z
      mad r9.x, r9.x, l(4.102564e-001), -r12.x
      div r12.x, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000), r12.z
      mul_sat r9.x, r9.x, r12.x
      mad r12.x, r9.x, l(-2.000000e+000), l(3.000000e+000)
      mul r9.x, r9.x, r9.x
      mul r9.x, r9.x, r12.x
      mul r9.x, r12.y, r9.x
      mul r9.x, r9.x, l(2.000000e+001)
      add r12.x, r11.z, l(1.000000e-003)
      mul_sat r12.z, r6.z, l(1.666667e-004)
      mad r12.w, r12.z, l(-2.000000e+000), l(3.000000e+000)
      mul r12.z, r12.z, r12.z
      mul r12.z, r12.z, r12.w
      mad r12.z, r12.z, l(-7.000000e-001), l(1.000000e+000)
      mul r13.y, r9.x, r12.z
      ge r9.x, r6.z, r5.z
      div r12.z, r8.w, r10.w
      mul r14.y, r12.z, r13.y
      mul r12.z, r8.w, l(1.000000e-003)
      div r12.z, r12.z, r10.w
      add r14.x, r11.y, r12.z
      add r13.x, r11.y, l(1.000000e-003)
      movc r12.zw, r9.xxxx, r14.xxxy, r13.xxxy
      mul r9.x, r12.w, r12.x
      mad r13.xyz, v11.xyzx, l(1.200000e+002, 1.200000e+002, 1.200000e+002, 0.000000e+000), r10.xyzx
      add r14.xy, r13.zzzz, -v12.xzxx
      div_sat r13.w, r14.x, r6.w
      mad r13.w, r13.w, l(3.000001e-001), l(9.000000e-001)
      mul_sat r14.x, r8.x, r14.y
      mad r14.y, r14.x, l(-2.000000e+000), l(3.000000e+000)
      mul r14.x, r14.x, r14.x
      mul r14.x, r14.x, r14.y
      min r14.y, r13.z, v12.w
      add r14.y, r14.y, -v12.x
      mul_sat r14.y, r8.y, r14.y
      mad r14.z, r14.y, l(-2.000000e+000), l(3.000000e+000)
      mul r14.y, r14.y, r14.y
      mul r14.y, r14.y, r14.z
      mul r14.x, r14.y, r14.x
      add r14.y, -r13.w, v9.w
      mad r15.xyzw, r13.zzzz, l(-2.200000e-001, 0.000000e+000, -2.200000e-001, 0.000000e+000), r13.xyxy
      mad r15.xyzw, cb5[63].yyyy, l(1.000000e+007, 1.000000e+007, 1.000000e+007, 1.000000e+007), r15.xyzw
      mad r15.xyzw, cb3[54].xyzz, l(-2.030000e+003, 6.090000e+003, -4.060000e+003, 0.000000e+000), r15.xyzw
      mul r15.xyzw, r15.xyzw, l(3.333333e-005, 3.333333e-005, 1.562500e-004, 1.562500e-004)
      sample_l_indexable(texture2d)(float,float,float,float) r13.x, r15.xyxx, t7.zxyw, s13, l(0.000000e+000)
      sample_l_indexable(texture2d)(float,float,float,float) r13.y, r15.zwzz, t7.xzyw, s13, l(0.000000e+000)
      mul r13.y, r13.y, l(5.500000e-001)
      mad r13.x, r13.x, l(5.000000e-001), r13.y
      mul_sat r13.x, r14.x, r13.x
      add r13.x, -r14.y, r13.x
      add r13.y, r13.w, r13.w
      div_sat r13.x, r13.x, r13.y
      mad r13.x, -r13.x, l(8.100000e+000), l(1.000000e+000)
      add r13.x, -r11.x, r13.x
      mad r11.x, r9.x, r13.x, r11.x
      mad r12.x, -r12.x, r12.w, l(1.000000e+000)
      mul r9.x, r6.z, r9.x
      mad r9.x, r8.z, r12.x, r9.x
      min r8.z, r9.x, l(7.000000e+003)
      add r11.y, r12.w, r12.z
      mul r9.x, r11.y, l(-1.442695e+000)
      exp r9.x, r9.x
      add r9.x, r9.x, l(-7.500000e-002)
      mul r11.z, r9.x, l(1.081081e+000)
      add r8.w, r5.z, -r6.z
      mad r10.xyz, r7.xyzx, r12.yyyy, r10.xyzx
      mad r6.z, r9.y, r9.w, r6.z
      iadd r11.w, r11.w, l(1)
      mov r10.w, r12.y
    endloop 
    lt r4.z, l(1.000000e-003), r11.y
    if_nz r4.z
      mul r5.xy, r5.xyxx, cb5[0].xyxx
      mul r5.yzw, r5.yyyy, cb1[13].xxyz
      mad r5.xyz, r5.xxxx, cb1[12].xyzx, r5.yzwy
      add r5.xyz, r5.xyzx, -cb1[14].xyzx
      mul r5.xyz, r5.xyzx, l(1.000000e+004, 1.000000e+004, 1.000000e+004, 0.000000e+000)
      dp3 r4.w, r5.xyzx, r5.xyzx
      rsq r5.w, r4.w
      mul r5.xyw, r5.xyxz, r5.wwww
      add r6.x, r4.w, -cb3[50].x
      max r6.x, r6.x, l(0.000000e+000)
      div r4.w, r6.x, r4.w
      mul r4.w, r5.z, r4.w
      mul r5.z, r4.w, cb3[52].z
      lt r4.w, l(1.000000e-002), |r4.w|
      mul r6.y, r5.z, l(-1.442695e+000)
      exp r6.y, r6.y
      add r6.y, -r6.y, l(1.000000e+000)
      div r5.z, r6.y, r5.z
      movc r4.w, r4.w, r5.z, l(1.000000)
      mul r5.z, r6.x, cb3[51].w
      mul r6.x, r6.x, -cb3[51].z
      mul r6.x, r6.x, l(1.442695e+000)
      exp r6.x, r6.x
      add r6.x, -r6.x, l(1.000000e+000)
      mul r4.w, r4.w, r5.z
      min r4.w, r4.w, l(1.000000e+000)
      mul r4.w, r4.w, l(1.442695e+000)
      exp r4.w, r4.w
      min r4.w, r4.w, l(1.000000e+000)
      add r4.w, -r4.w, l(1.000000e+000)
      mad r4.w, -r4.w, cb3[52].y, l(1.000000e+000)
      mul r4.w, r4.w, cb3[51].y
      dp3_sat r5.z, r5.xywx, cb3[53].xyzx
      dp3_sat r5.x, r5.xywx, cb3[54].xyzx
      log r5.x, r5.x
      mul r5.x, r5.x, cb3[54].w
      exp r5.x, r5.x
      log r5.y, r5.z
      mul r5.y, r5.y, cb3[53].w
      exp r5.y, r5.y
      add r6.yzw, -cb3[56].xxyz, cb3[58].xxyz
      mad r5.xzw, r5.xxxx, r6.yyzw, cb3[56].xxyz
      add r6.yzw, -r5.xxzw, cb3[55].xxyz
      mad r5.xyz, r5.yyyy, r6.yzwy, r5.xzwx
      add r5.xyz, r5.xyzx, -cb3[57].xyzx
      mad r5.xyz, r6.xxxx, r5.xyzx, cb3[57].xyzx
      add r6.x, -r5.x, cb3[55].w
      add r6.y, -r5.y, cb3[56].w
      add r6.z, -r5.z, cb3[57].w
      mad r5.xyz, r4.wwww, r6.xyzx, r5.xyzx
      mad r6.xyz, r5.xyzx, l(2.900000e-001, 2.900000e-001, 2.900000e-001, 0.000000e+000), -v8.xyzx
      mad r6.xyz, r6.xyzx, l(2.400000e-001, 2.400000e-001, 2.400000e-001, 0.000000e+000), v8.xyzx
      mad r8.xyw, r5.xyxz, l(1.100000e+000, 1.100000e+000, 0.000000e+000, 1.100000e+000), -v9.xyxz
      mad r8.xyw, r8.xyxw, l(2.400000e-001, 2.400000e-001, 0.000000e+000, 2.400000e-001), v9.xyxz
      lt r4.w, l(4.900000e+000), v10.w
      lt r5.w, v10.w, l(2.090000e+001)
      and r4.w, r4.w, r5.w
      max r7.w, r7.z, l(1.000000e-001)
      dp3 r5.w, v11.xyzx, r7.xywx
      add r5.w, r5.w, l(-1.000000e+000)
      div r5.w, r5.w, |v11.w|
      dp3 r6.w, r8.xywx, r8.xywx
      rsq r6.w, r6.w
      mul r7.xyz, r6.wwww, r8.xywx
      mul r7.xyz, r7.xyzx, |v11.wwww|
      mul r9.xy, r5.wwww, l(4.300000e-001, 5.200000e+001, 0.000000e+000, 0.000000e+000)
      exp r9.xy, r9.xyxx
      mad r7.xyz, r7.xyzx, r9.xxxx, r8.xywx
      dp3 r5.w, r7.xyzx, r7.xyzx
      rsq r5.w, r5.w
      mul r8.xyw, r5.wwww, r7.xyxz
      mul r8.xyw, r8.xyxw, v14.wwww
      mad r7.xyz, r8.xywx, r9.yyyy, r7.xyzx
      mov_sat r11.x, r11.x
      mad r5.w, r11.x, l(-2.000000e+000), l(3.000000e+000)
      mul r6.w, r11.x, r11.x
      mul r5.w, r5.w, r6.w
      add r7.xyz, -r6.xyzx, r7.xyzx
      mad r6.xyz, r5.wwww, r7.xyzx, r6.xyzx
      add r5.xyz, r5.xyzx, -r6.xyzx
      mul r5.xyz, r5.xyzx, l(7.700000e-001, 7.700000e-001, 7.700000e-001, 0.000000e+000)
      mul_sat r5.w, r8.z, l(1.265823e-004)
      mad r6.w, r5.w, l(-2.000000e+000), l(3.000000e+000)
      mul r5.w, r5.w, r5.w
      mul r5.w, r5.w, r6.w
      mad r5.xyz, r5.wwww, r5.xyzx, r6.xyzx
      add r6.xy, r8.zzzz, l(-9.000000e+003, -8.200000e+003, 0.000000e+000, 0.000000e+000)
      mul_sat r6.xy, r6.xyxx, l(-1.111111e-004, -8.333334e-004, 0.000000e+000, 0.000000e+000)
      mad r6.zw, r6.xxxy, l(0.000000e+000, 0.000000e+000, -2.000000e+000, -2.000000e+000), l(0.000000e+000, 0.000000e+000, 3.000000e+000, 3.000000e+000)
      mul r6.xy, r6.xyxx, r6.xyxx
      mul r6.xy, r6.xyxx, r6.zwzz
      mul r6.z, r11.y, r6.x
      dp2 r6.w, v13.xyxx, l(2.200000e-001, 7.800000e-001, 0.000000e+000, 0.000000e+000)
      div r6.w, cb1[15].z, r6.w
      lt r7.x, l(1.000000e+000), r6.w
      rcp r7.y, r6.w
      max r7.y, r7.y, l(6.800000e-001)
      add r7.y, r7.y, l(-1.000000e+000)
      mad r6.x, r6.x, r7.y, l(1.000000e+000)
      mul r9.xyz, r5.xyzx, r6.xxxx
      min r9.w, r6.w, l(1.300000e+000)
      mov r5.w, l(1.000000)
      movc r5.xyzw, r7.xxxx, r9.xyzw, r5.xyzw
      movc r4.w, r4.w, l(1.500000), l(2.700000)
      mul r4.w, r4.w, -r6.z
      mul r4.w, r5.w, r4.w
      exp r4.w, r4.w
      add r4.w, -r4.w, l(1.000000e+000)
      mul r5.w, r6.y, r4.w
    else 
      mov r8.z, l(0.900000)
    endif 
  else 
    mov r8.z, l(0.900000)
    mov r4.z, l(0)
  endif 
  and r5.xyzw, r5.xyzw, r4.zzzz
  add r4.y, -r4.y, l(1.000000e+000)
  mad_sat r4.z, r5.w, r4.y, r5.w
  mul r4.y, r4.y, r4.z
  mad r4.y, -r4.y, l(1.250000e+000), l(1.000000e+000)
  max r4.y, r4.y, l(0.000000e+000)
  lt r0.x, l(1.200000e-001), r0.x
  and r0.x, r4.x, r0.x
  mul_sat r4.x, r2.w, l(-2.700000e+004)
  add r6.xyz, r0.yzwy, r4.xxxx
  dp3 r4.x, r6.xyzx, l(3.333330e-001, 3.333330e-001, 3.333330e-001, 0.000000e+000)
  lt r4.x, r4.x, l(5.700000e-001)
  and r0.x, r0.x, r4.x
  lt r4.xw, -r2.wwww, l(1.400000e-004, 0.000000e+000, 0.000000e+000, 1.000000e-007)
  and r0.x, r0.x, r4.x
  mad r2.w, v8.w, -r4.z, r4.z
  movc r0.x, r0.x, r2.w, r4.z
  add r2.w, v12.z, v12.y
  mul r2.w, r2.w, l(5.000000e-001)
  lt r2.w, cb1[15].z, r2.w
  and r2.w, r4.w, r2.w
  if_nz r2.w
    mad r4.xz, -cb5[74].xxyx, l(1.900000e-003, 0.000000e+000, 1.900000e-003, 0.000000e+000), r1.xxwx
    sample_l_indexable(texture2d)(float,float,float,float) r2.w, r4.xzxx, t5.xywz, s4, l(0.000000e+000)
    mad r1.yz, cb5[74].yyxy, l(0.000000e+000, 1.900000e-003, 1.900000e-003, 0.000000e+000), r1.wwxw
    sample_l_indexable(texture2d)(float,float,float,float) r1.y, r1.xyxx, t5.xzyw, s4, l(0.000000e+000)
    add r4.x, r1.y, r2.w
    sample_l_indexable(texture2d)(float,float,float,float) r1.z, r1.zwzz, t5.xyzw, s4, l(0.000000e+000)
    mad r4.zw, cb5[74].xxxy, l(0.000000e+000, 0.000000e+000, 1.900000e-003, 1.900000e-003), r1.xxxw
    sample_l_indexable(texture2d)(float,float,float,float) r4.z, r4.zwzz, t5.xyzw, s4, l(0.000000e+000)
    add r4.w, r1.z, r4.z
    add r1.z, r1.z, r2.w
    add r1.y, r1.y, r4.z
    add r2.w, -r4.w, r4.x
    add r1.y, -r1.y, r1.z
    min r1.y, |r2.w|, |r1.y|
    add r6.xy, r1.xwxx, -v10.xyxx
    div r1.z, cb5[72].x, cb5[72].y
    mul r6.z, r1.z, r6.y
    dp2 r1.z, r6.xzxx, r6.xzxx
    mul r1.z, r1.z, r1.z
    mul r1.z, r1.z, r1.z
    mul r1.z, r1.z, l(1.000000e+003)
    min r1.z, r1.z, l(1.000000e+000)
    mul r1.y, r1.z, r1.y
    lt r1.y, l(1.000000e-004), r1.y
    add r2.w, r8.z, l(-4.000000e+003)
    mul_sat r2.w, r2.w, l(-2.500000e-004)
    mad r4.x, r2.w, l(-2.000000e+000), l(3.000000e+000)
    mul r2.w, r2.w, r2.w
    mul r2.w, r2.w, r4.x
    mad r2.w, r2.w, l(-3.000000e-001), l(9.000000e-001)
    movc r1.y, r1.y, r2.w, l(1.000000)
    sample_l_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r2.w, r1.xwxx, t4.yzwx, s4, l(0.000000e+000)
    sample_l_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r4.x, r1.xwxx, t4.xyzw, s4, l(0.000000e+000)
    add r2.w, r2.w, r4.x
    sample_l_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r4.x, r1.xwxx, t4.xyzw, s4, l(0.000000e+000)
    add r2.w, r2.w, r4.x
    sample_l_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r4.x, r1.xwxx, t4.xyzw, s4, l(0.000000e+000)
    add r2.w, r2.w, r4.x
    mul r2.w, r2.w, l(2.500000e-001)
    div r2.w, cb5[0].z, r2.w
    add r2.w, r2.w, -cb5[0].w
    add r2.w, r2.w, l(-1.000000e+000)
    lt r4.x, -r2.w, l(1.600000e-004)
    ge r2.w, -r2.w, l(1.000000e-007)
    and r2.w, r2.w, r4.x
    movc r1.y, r2.w, l(0.990000), r1.y
    mul r5.xyz, r1.yyyy, r5.xyzx
    mul r1.y, v1.w, v8.w
    lt r1.y, r0.w, r1.y
    mul r2.w, r0.x, l(6.000000e-002)
    movc r1.y, r1.y, r2.w, r0.x
    lt r2.w, cb1[15].z, v13.y
    lt r4.x, v8.w, l(9.000000e-002)
    movc r4.x, r4.x, l(190.000000), l(0.900000)
    max r4.z, r2.z, r2.y
    max r4.z, r2.x, r4.z
    mul_sat r4.x, r4.x, r4.z
    mul r1.z, r1.z, l(9.900000e+001)
    min r1.z, r1.z, l(1.000000e+000)
    mul r1.z, r1.z, r4.x
    mul r1.z, r1.z, r1.y
    mad r1.z, r1.z, l(-8.800000e-001), r1.y
    movc r0.x, r2.w, r1.z, r1.y
  endif 
  mov_sat r0.x, r0.x
  add r4.xzw, -r0.yyzw, r5.xxyz
  mad r0.yzw, r0.xxxx, r4.xxzw, r0.yyzw
else 
  mov r4.y, l(1.000000)
endif 
sample_indexable(texture2d)(float,float,float,float) r4.xzw, v1.xyxx, t14.xwyz, s14
add r3.xyz, r3.xyzx, -r4.xzwx
mad r3.xyz, r3.wwww, r3.xyzx, r4.xzwx
movc r3.xyz, cb5[89].zzzz, r3.xyzx, r4.xzwx
add r3.xyz, -r0.yzwy, r3.xyzx
mad r0.xyz, cb5[64].xxxx, r3.xyzx, r0.yzwy
mul r2.xyz, r2.xyzx, r4.yyyy
mul r2.xyz, r2.xyzx, v1.wwww
lt r0.w, l(0.000000e+000), cb5[75].z
if_nz r0.w
  sample_indexable(texture2d)(float,float,float,float) r0.w, r1.xwxx, t15.yzwx, s15
  mul r0.w, r0.w, r0.w
  mul r0.w, r0.w, r0.w
  mul r0.w, r0.w, r0.w
  mad r0.xyz, cb5[46].xyzx, r0.wwww, r0.xyzx
endif 
mul r1.xyz, r2.xyzx, cb5[7].yyyy
mad o0.xyz, r1.xyzx, l(2.500000e-001, 2.500000e-001, 2.500000e-001, 0.000000e+000), r0.xyzx
mov o0.w, l(1.000000)
ret